package data.nanjing.expo.models.domain.dto.exhibition;

import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.Valid;
import javax.validation.constraints.*;
import java.util.Date;
import java.util.List;

/**
 *个人中心上传展会基本信息
 * @author ChanJi
 * @create 2018-05-25 12:10
 **/
public class UploadExpoDto {
    private Integer id;

    private Integer userId;

    @NotBlank(message = "展会名称不能为空")
    @Size(min = 5,max = 30,message = "展会名称在5到30个字之间")
    private String expoName;

    @NotEmpty(message = "展会宣传图不能为空")
    private String expoImg;
    /**
     * 省
     */
    private String province;
    /**
     * 市
     */
    private String city;
    /**
     *区
     */
    private String area;
    /**
     *街道地址
     */
    private String street;
    /**
     * 举办地点名称
     */
    private String location;
    /**
     * 展会开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message = "展会开始时间不能为空")
    private Date startTime;
    /**
     * 展会结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message = "展会结束时间不能为空")
    private Date endTime;
    /**
     *领域
     */
    @NotBlank(message ="展会领域不能为空")
    private String expoScope;
    /**
     * 展会官网
     */
    private String officialUrl;
    /**
     * 展会简介
     */
    @NotBlank(message = "展会简介不能为空")
    private String expoResume;
    /**
     * 展会规模
     */
    @NotNull(message = "展位数量不允许空")
    private Integer standTotal;

    private Date createTime;

    private Date updateTime;

    public UploadExpoDto() {

    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getExpoName() {
        return expoName;
    }

    public void setExpoName(String expoName) {
        this.expoName = expoName;
    }

    public String getExpoImg() {
        return expoImg;
    }

    public void setExpoImg(String expoImg) {
        this.expoImg = expoImg;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public String getStreet() {
        return street;
    }

    public void setStreet(String street) {
        this.street = street;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getExpoScope() {
        return expoScope;
    }

    public void setExpoScope(String expoScope) {
        this.expoScope = expoScope;
    }

    public String getOfficialUrl() {
        return officialUrl;
    }

    public void setOfficialUrl(String officialUrl) {
        this.officialUrl = officialUrl;
    }

    public String getExpoResume() {
        return expoResume;
    }

    public void setExpoResume(String expoResume) {
        this.expoResume = expoResume;
    }

    public Integer getStandTotal() {
        return standTotal;
    }

    public void setStandTotal(Integer standTotal) {
        this.standTotal = standTotal;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return "UploadExpoDto{" +
                "id=" + id +
                ", userId=" + userId +
                ", expoName='" + expoName + '\'' +
                ", expoImg='" + expoImg + '\'' +
                ", province='" + province + '\'' +
                ", city='" + city + '\'' +
                ", area='" + area + '\'' +
                ", location='" + location + '\'' +
                ", startTime='" + startTime + '\'' +
                ", endTime='" + endTime + '\'' +
                ", expoScope='" + expoScope+ '\'' +
                ", standTotal=" + standTotal+
                '}';
    }
}